This invention relates to the creation of computer program code, and more particularly to the testing of computer program code created in a development system.
Computer program code is commonly developed in a collaborative fashion with multiple members of a development group working together to develop the program code of a computer program using a single development system/environment.
For a development group in which the members frequently change and/or there are large differences in the programming experience of the members, it can be difficult to manage the build and program control arrangements. For example, excessive restrictions will frustrate experienced members who frequently access the development system and do not break builds of the program code or introduce errors/bugs. Conversely, inadequate restrictions (i.e. excessive freedom of use) may lead to inexperienced members easily introducing bad or error-prone code which may break a build or functionality of the program code.
It is known to control access privileges to a system based on user-provided credentials. This access control concept requires users to be classified into predefined categories each having an associated risk value. The use of such rigid and pre-defined user categories is inflexible. Defining a larger number of categories introduces finer granularity of access control, but also increases an administrative burden.
It is also known to implement automated testing regimes that are adapted to run more or less tests depending on what areas of a program code have been accessed and/or changed by a user of a development system. However, as mentioned above, such testing regimes can be frustrating for experienced members or inadequate for less-experienced members. Devising an optimal testing regime that is neither too strict nor too lax is difficult and may be limited to the granularity of predefined user categories.